#ifndef _MEMORY_H_
#define _MEMORY_H_

#include "types.h"

#define PGSIZE 4096
#define PGROUNDUP(sz) (((sz)+PGSIZE-1) & ~(PGSIZE-1))
#define PGROUNDDOWN(a) (((a)) & ~(PGSIZE-1))

// 内存布局常量（集中定义）
#define KERNBASE  0x80000000L
#define PHYSTOP   0x88000000L  // 物理内存结束地址 (128MB)
#define UART0     0x10000000L  // UART设备地址

extern char end[]; // 内核结束地址，由链接器提供

#endif // _MEMORY_H_
